home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / grafik / 3d & render tools / irit / contrib / scripts / cobra.irt < prev    next >
Encoding:
Text File  |  1996-07-16  |  12.2 KB  |  384 lines

  1. Tail = cbezier(list(ctlpt(E3,-0.220, -0.034, 0.0), 
  2.             ctlpt(E3,-0.244, -0.014, 0.0), 
  3.             ctlpt(E3,-0.220, 0.020, 0.0), 
  4.             ctlpt(E3,-0.224, 0.076, 0.0),
  5.             ctlpt(E3,-0.2040, 0.096, 0.0),
  6.             ctlpt(E3,-0.180, 0.104, 0.0),
  7.             ctlpt(E3,-0.156, 0.108, 0.0),
  8.             ctlpt(E3,-0.124, 0.116, 0.0), 
  9.             ctlpt(E3,-0.088, 0.116, 0.0), 
  10.             ctlpt(E3,-0.060, 0.116, 0.0),
  11.             ctlpt(E3,-0.032, 0.104, 0.0), 
  12.                 ctlpt(E3,-0.008, 0.088, 0.0),
  13.                 ctlpt(E3,0.012, 0.068, 0.0), 
  14.             ctlpt(E3,0.036, 0.036, 0.0), 
  15.             ctlpt(E3,0.044, 0.012, 0.0), 
  16.             ctlpt(E3,0.056, -0.020, 0.0), 
  17.             ctlpt(E3,0.056, -0.044, 0.0), 
  18.             ctlpt(E3,0.056, -0.048, 0.0), 
  19.             ctlpt(E3,0.060, -0.088, 0.0),
  20.             ctlpt(E3,0.060, -0.116, 0.0),
  21.             ctlpt(E3,0.060, -0.148, 0.0),
  22.             ctlpt(E3,0.052, -0.168, 0.0), 
  23.             ctlpt(E3,0.040, -0.188, 0.0), 
  24.             ctlpt(E3,0.024, -0.204, 0.0),
  25.             ctlpt(E3,-0.004, -0.224, 0.0), 
  26.             ctlpt(E3,-0.008, -0.228, 0.0), 
  27.             ctlpt(E3,-0.012, -0.228, 0.0), 
  28.             ctlpt(E3,-0.032, -0.236, 0.0), 
  29.             ctlpt(E3,-0.036, -0.240, 0.0),
  30.             ctlpt(E3,-0.064, -0.252, 0.0), 
  31.             ctlpt(E3,-0.084, -0.260, 0.0),
  32.             ctlpt(E3,-0.112, -0.260, 0.0),
  33.             ctlpt(E3,-0.136, -0.264, 0.0), 
  34.             ctlpt(E3,-0.164, -0.260, 0.0),
  35.             ctlpt(E3,-0.188, -0.248, 0.0),
  36.             ctlpt(E3,-0.228, -0.216, 0.0), 
  37.             ctlpt(E3,-0.260, -0.184, 0.0), 
  38.             ctlpt(E3,-0.284, -0.144, 0.0),
  39.             ctlpt(E3,-0.292, -0.112, 0.0),
  40.             ctlpt(E3,-0.304, -0.088, 0.0), 
  41.             ctlpt(E3,-0.312, -0.056, 0.0), 
  42.             ctlpt(E3,-0.324, -0.032, 0.0), 
  43.             ctlpt(E3,-0.324, 0.004, 0.0), 
  44.             ctlpt(E3,-0.324, 0.048, 0.0), 
  45.             ctlpt(E3,-0.324, 0.084, 0.0),
  46.             ctlpt(E3,-0.320, 0.112, 0.0),
  47.             ctlpt(E3,-0.304, 0.140, 0.0), 
  48.             ctlpt(E3,-0.292, 0.156, 0.0), 
  49.             ctlpt(E3,-0.268, 0.168, 0.0),  
  50.             ctlpt(E3,-0.240, 0.180, 0.0),
  51.             ctlpt(E3,-0.208, 0.188, 0.0),
  52.             ctlpt(E3,-0.176, 0.196, 0.0), 
  53.             ctlpt(E3,-0.160, 0.200, 0.0), 
  54.             ctlpt(E3,-0.136, 0.200, 0.0), 
  55.             ctlpt(E3,-0.104, 0.200, 0.0), 
  56.             ctlpt(E3,-0.072, 0.200, 0.0), 
  57.             ctlpt(E3,-0.044, 0.200, 0.0), 
  58.             ctlpt(E3,-0.024, 0.196, 0.0),
  59.             ctlpt(E3,-0.024, 0.192, 0.0), 
  60.             ctlpt(E3,0.000, 0.184, 0.0),
  61.             ctlpt(E3,0.032, 0.172, 0.0), 
  62.             ctlpt(E3,0.064, 0.156, 0.0), 
  63.             ctlpt(E3,0.072, 0.144, 0.0), 
  64.             ctlpt(E3,0.092, 0.124, 0.0), 
  65.             ctlpt(E3,0.096, 0.120, 0.0), 
  66.             ctlpt(E3,0.112, 0.092, 0.0), 
  67.             ctlpt(E3,0.120, 0.064, 0.0),
  68.             ctlpt(E3,0.128, 0.048, 0.0),
  69.             ctlpt(E3,0.128, 0.040, 0.0), 
  70.             ctlpt(E3,0.132, 0.032, 0.0),
  71.             ctlpt(E3,0.132, 0.028, 0.0), 
  72.             ctlpt(E3,0.136, 0.008, 0.0), 
  73.             ctlpt(E3,0.148, -0.020, 0.0), 
  74.             ctlpt(E3,0.148, -0.024, 0.0), 
  75.             ctlpt(E3,0.148, -0.032, 0.0), 
  76.             ctlpt(E3,0.148, -0.060, 0.0), 
  77.             ctlpt(E3,0.144, -0.096, 0.0), 
  78.             ctlpt(E3,0.144, -0.144, 0.0),
  79.             ctlpt(E3,0.144, -0.152, 0.0),
  80.             ctlpt(E3,0.140, -0.184, 0.0), 
  81.             ctlpt(E3,0.140, -0.188, 0.0), 
  82.             ctlpt(E3,0.128, -0.208, 0.0),
  83.             ctlpt(E3,0.120, -0.228, 0.0), 
  84.             ctlpt(E3,0.104, -0.248, 0.0),
  85.             ctlpt(E3,0.104, -0.252, 0.0), 
  86.             ctlpt(E3,0.080, -0.280, 0.0), 
  87.             ctlpt(E3,0.076, -0.284, 0.0), 
  88.             ctlpt(E3,0.052, -0.296, 0.0),
  89.             ctlpt(E3,0.016, -0.358, 0.0), 
  90.             ctlpt(E3,-0.008, -0.360, 0.0),
  91.             ctlpt(E3,-0.056, -0.365, 0.0), 
  92.             ctlpt(E3,-0.060, -0.365, 0.0), 
  93.             ctlpt(E3,-0.100, -0.365, 0.0), 
  94.             ctlpt(E3,-0.108, -0.365, 0.0), 
  95.             ctlpt(E3,-0.112, -0.365, 0.0),
  96.             ctlpt(E3,-0.180, -0.366, 0.0), 
  97.             ctlpt(E3,-0.208, -0.367, 0.0), 
  98.             ctlpt(E3,-0.220, -0.360, 0.0), 
  99.             ctlpt(E3,-0.236, -0.355, 0.0), 
  100.             ctlpt(E3,-0.252, -0.335, 0.0), 
  101.             ctlpt(E3,-0.276, -0.310, 0.0), 
  102.             ctlpt(E3,-0.280, -0.310, 0.0), 
  103.             ctlpt(E3,-0.300, -0.220, 0.0), 
  104.             ctlpt(E3,-0.300, -0.220, 0.0), 
  105.             ctlpt(E3,-0.320, -0.209, 0.0), 
  106.             ctlpt(E3,-0.348, -0.184, 0.0), 
  107.             ctlpt(E3,-0.372, -0.156, 0.0),
  108.             ctlpt(E3,-0.388, -0.176, 0.0),
  109.             ctlpt(E3,-0.388, -0.172, 0.0), 
  110.             ctlpt(E3,-0.408, -0.132, 0.0), 
  111.             ctlpt(E3,-0.408, -0.128, 0.0), 
  112.             ctlpt(E3,-0.428, 0.140, 0.0), 
  113.             ctlpt(E3,-0.432, 0.188, 0.1), 
  114.             ctlpt(E3,-0.432, 0.144, 0.15), 
  115.             ctlpt(E3,-0.428, 0.172, 0.2), 
  116.             ctlpt(E3,-0.428, 0.200, 0.25),
  117.             ctlpt(E3,-0.436, 0.236, 0.3),
  118.             ctlpt(E3,-0.432, 0.252, 0.35)));
  119.           
  120.              
  121. Cross = cbezier(list(ctlpt(E3, -0.516, -0.016, 0.0),
  122.                      ctlpt(E3, -0.532,  0.268, 0.0),
  123.                      ctlpt(E3, -0.240,  0.672, 0.0),
  124.                      ctlpt(E3,  0.416,  0.624, 0.0),
  125.                      ctlpt(E3,  0.536,  0.152, 0.0),
  126.                      ctlpt(E3,  0.536, -0.180, 0.0),
  127.                      ctlpt(E3,  0.284, -0.576, 0.0),
  128.                      ctlpt(E3, -0.144, -0.608, 0.0),
  129.                      ctlpt(E3, -0.476, -0.368, 0.0),
  130.                      ctlpt(E3, -0.516, -0.016, 0.0)))*rotx(PI/2);
  131.                           
  132.  
  133.             
  134. scaleCrv = cbspline(4, list(ctlpt( E2, 0.035, 0.01),
  135.             ctlpt( E2, 0.04,  0.02),
  136.             ctlpt( E2, 0.045, 0.05),
  137.             ctlpt( E2, 0.05,  0.09),
  138.             ctlpt( E2, 0.055, 0.1),
  139.             ctlpt( E2, 0.06,  0.1),
  140.             ctlpt( E2, 0.065, 0.1),
  141.             ctlpt( E2, 0.07,  0.1),
  142.             ctlpt( E2, 0.075, 0.1),
  143.             ctlpt( E2, 0.08,  0.1),
  144.             ctlpt( E2, 0.085, 0.1),
  145.             ctlpt( E2, 0.09,  0.1),
  146.             ctlpt( E2, 0.095, 0.1),
  147.             ctlpt( E2, 0.10,  0.1),
  148.             ctlpt( E2, 0.11,  0.1),
  149.             ctlpt( E2, 0.115, 0.1),
  150.             ctlpt( E2, 0.12,  0.1),
  151.             ctlpt( E2, 0.125, 0.1),
  152.             ctlpt( E2, 0.13,  0.1),
  153.             ctlpt( E2, 0.135, 0.1),
  154.             ctlpt( E2, 0.14,  0.1),
  155.             ctlpt( E2, 0.145, 0.1),
  156.             ctlpt( E2, 0.15,  0.1),
  157.             ctlpt( E2, 0.155, 0.1),
  158.             ctlpt( E2, 0.16,  0.1),
  159.             ctlpt( E2, 0.165, 0.1),
  160.             ctlpt( E2, 0.17,  0.1),
  161.             ctlpt( E2, 0.175, 0.1),
  162.             ctlpt( E2, 0.18,  0.1),
  163.             ctlpt( E2, 0.185, 0.1),
  164.             ctlpt( E2, 0.19,  0.1),
  165.             ctlpt( E2, 0.2,   0.1),
  166.             ctlpt( E2, 0.21,  0.1),
  167.             ctlpt( E2, 0.22,  0.1),
  168.             ctlpt( E2, 0.23,  0.1),
  169.             ctlpt( E2, 0.24,  0.1),
  170.             ctlpt( E2, 0.25,  0.1),
  171.             ctlpt( E2, 0.26,  0.1),
  172.             ctlpt( E2, 0.27,  0.1),
  173.             ctlpt( E2, 0.28,  0.1),
  174.             ctlpt( E2, 0.29,  0.1),
  175.             ctlpt( E2, 0.3,   0.1),
  176.             ctlpt( E2, 0.31,  0.1),
  177.             ctlpt( E2, 0.32,  0.1),
  178.             ctlpt( E2, 0.33,  0.11),
  179.             ctlpt( E2, 0.34,  0.11),
  180.             ctlpt( E2, 0.35,  0.11),
  181.             ctlpt( E2, 0.36,  0.11),
  182.             ctlpt( E2, 0.37,  0.11),
  183.             ctlpt( E2, 0.38,  0.12),
  184.             ctlpt( E2, 0.39,  0.12),
  185.             ctlpt( E2, 0.4,   0.12),
  186.             ctlpt( E2, 0.41,  0.12),
  187.             ctlpt( E2, 0.42,  0.12),
  188.             ctlpt( E2, 0.43,  0.12),
  189.             ctlpt( E2, 0.44,  0.12),
  190.             ctlpt( E2, 0.45,  0.12),
  191.             ctlpt( E2, 0.46,  0.12),
  192.             ctlpt( E2, 0.47,  0.13),
  193.             ctlpt( E2, 0.48,  0.13),
  194.             ctlpt( E2, 0.49,  0.13),
  195.             ctlpt( E2, 0.5,   0.13),
  196.             ctlpt( E2, 0.55,  0.13),
  197.             ctlpt( E2, 0.56,  0.13),
  198.             ctlpt( E2, 0.57,  0.13),
  199.             ctlpt( E2, 0.58,  0.13),
  200.                ctlpt( E2, 0.59,  0.13),
  201.                ctlpt( E2, 0.6,   0.13),
  202.                ctlpt( E2, 0.61,  0.13),
  203.                ctlpt( E2, 0.62,  0.13),
  204.                ctlpt( E2, 0.63,  0.13),
  205.                ctlpt( E2, 0.64,  0.13),
  206.             ctlpt( E2, 0.65,  0.13),
  207.             ctlpt( E2, 0.66,  0.13),
  208.             ctlpt( E2, 0.67,  0.13),
  209.             ctlpt( E2, 0.68,  0.13),
  210.             ctlpt( E2, 0.69,  0.13),
  211.             ctlpt( E2, 0.7,   0.13),
  212.             ctlpt( E2, 0.71,  0.13),
  213.             ctlpt( E2, 0.72,  0.13),
  214.             ctlpt( E2, 0.73,  0.13),
  215.             ctlpt( E2, 0.74,  0.13),
  216.             ctlpt( E2, 0.75,  0.13),
  217.             ctlpt( E2, 0.76,  0.13),
  218.             ctlpt( E2, 0.77,  0.13),
  219.             ctlpt( E2, 0.78,  0.13),
  220.             ctlpt( E2, 0.79,  0.13),
  221.             ctlpt( E2, 0.8,   0.13),
  222.             ctlpt( E2, 0.81,  0.13),
  223.             ctlpt( E2, 0.815, 0.13),
  224.             ctlpt( E2, 0.82,  0.13),
  225.             ctlpt( E2, 0.825, 0.13),
  226.             ctlpt( E2, 0.83,  0.13),
  227.             ctlpt( E2, 0.835, 0.13),
  228.             ctlpt( E2, 0.84,  0.13),
  229.             ctlpt( E2, 0.845, 0.13),
  230.             ctlpt( E2, 0.85,  0.13),
  231.             ctlpt( E2, 0.855, 0.13),
  232.             ctlpt( E2, 0.86,  0.13),
  233.             ctlpt( E2, 0.87,  0.13),
  234.             ctlpt( E2, 0.88,  0.13), 
  235.             ctlpt( E2, 0.89,  0.13),
  236.             ctlpt( E2, 0.9,   0.12),
  237.             ctlpt( E2, 0.91,  0.12),
  238.             ctlpt( E2, 0.915, 0.12),
  239.             ctlpt( E2, 0.92,  0.12),
  240.             ctlpt( E2, 0.925, 0.12),
  241.             ctlpt( E2, 0.93,  0.12),
  242.             ctlpt( E2, 0.935, 0.12),
  243.             ctlpt( E2, 0.94,  0.12),
  244.             ctlpt( E2, 0.945, 0.12),
  245.             ctlpt( E2, 0.95,  0.11),
  246.             ctlpt( E2, 0.955, 0.11),
  247.             ctlpt( E2, 0.96,  0.11),
  248.             ctlpt( E2, 0.965, 0.11),
  249.                ctlpt( E2, 0.97,  0.10),
  250.                ctlpt( E2, 0.98,  0.10),
  251.                ctlpt( E2, 0.99,  0.05)), 
  252.             list(KV_OPEN));            
  253. tl = SWPSCLSRF( Cross,Tail ,scaleCrv,off,0);
  254. color(tl,green);
  255.  
  256. A = cbezier(list(ctlpt(E3,-0.432, 0.252, 0.3),
  257.          ctlpt(E3,-0.432, 0.260, 0.35),
  258.          ctlpt(E3,-0.432, 0.268, 0.4),
  259.          ctlpt(E3,-0.432, 0.276, 0.45),
  260.          ctlpt(E3,-0.432, 0.284, 0.5),
  261.          ctlpt(E3,-0.432, 0.292, 0.55),
  262.          ctlpt(E3,-0.432, 0.300, 0.6),
  263.          ctlpt(E3,-0.432, 0.308, 0.65),
  264.          ctlpt(E3,-0.432, 0.316, 0.7),
  265.          ctlpt(E3,-0.432, 0.324, 0.75),
  266.          ctlpt(E3,-0.432, 0.332, 0.8)));
  267.          
  268. D = cbezier(list(ctlpt(E3,-0.432, 0.332, 0.75),
  269.          ctlpt(E3,-0.432, 0.332, 0.77),
  270.          ctlpt(E3,-0.432, 0.325, 0.79),
  271.          ctlpt(E3,-0.432, 0.320, 0.81),
  272.          ctlpt(E3,-0.432, 0.315, 0.83),
  273.          ctlpt(E3,-0.432, 0.310, 0.85),
  274.          ctlpt(E3,-0.432, 0.305, 0.87),
  275.          ctlpt(E3,-0.432, 0.300, 0.89),
  276.          ctlpt(E3,-0.432, 0.295, 0.91),
  277.          ctlpt(E3,-0.432, 0.290, 0.93)));    
  278.               
  279. toung1 = cbezier(list(ctlpt(E3,-0.430, 0.290, 0.93),
  280.              ctlpt(E3,-0.430, 0.260, 1.0)));
  281.              
  282. scale_toung = cbspline(2, list(ctlpt( E2,0.1,0.005), 
  283.                  ctlpt( E2,0.9,0.005)),
  284.                  list(KV_OPEN));             
  285.              
  286. toung2 = cbezier(list(ctlpt(E3,-0.432, 0.292, 0.93),
  287.              ctlpt(E3,-0.432, 0.262, 1.0)));
  288.              
  289. toung6 = RULEDSRF(toung1,toung2);
  290. color(toung6,red);
  291.  
  292. toung3 = cbezier(list(ctlpt(E3,-0.430, 0.290, 0.93),
  293.              ctlpt(E3,-0.432, 0.292, 0.93)));
  294.              
  295. toung4 = cbezier(list(ctlpt(E3,-0.430, 0.260, 1.0),
  296.              ctlpt(E3,-0.432, 0.262, 1.0)));    
  297.              
  298. toung = list(toung1,toung2,toung3,toung4);                                   
  299.                   
  300. scaleCrvA = cbspline(4, list(ctlpt( E2,0.1,0.01), 
  301.                  ctlpt( E2,0.2,0.05), 
  302.                  ctlpt( E2,0.3,0.05 ), 
  303.                  ctlpt( E2,0.4,0.15), 
  304.                  ctlpt( E2,0.5,0.15), 
  305.                  ctlpt( E2,0.6,0.15), 
  306.                  ctlpt( E2,0.7,0.25 ),
  307.                  ctlpt( E2,0.8,0.15 ),
  308.                  ctlpt( E2,0.9, 0.15),
  309.                  ctlpt( E2,0.94,0.05),  
  310.                  ctlpt( E2,0.98,0.01 )),
  311.                  list(KV_OPEN));    
  312.          
  313. scaleCrvD = cbspline(4, list(ctlpt( E2,0.0,0.08 ),    
  314.                              ctlpt( E2,0.1,0.08 ),
  315.                  ctlpt( E2,0.2,0.1  ),
  316.                  ctlpt( E2,0.3,0.1 ),
  317.                  ctlpt( E2,0.4,0.06  ),
  318.                  ctlpt( E2,0.5,0.05 ),
  319.                  ctlpt( E2,0.6,0.04 ),
  320.                  ctlpt( E2,0.7,0.03 ),
  321.                  ctlpt( E2,0.8,0.03 ),
  322.                  ctlpt( E2,0.9,0.02 )),
  323.                  list(KV_OPEN));     
  324.          
  325. B = cbezier(list(ctlpt(E3,-0.849, -0.435, 0.0),  
  326.          ctlpt(E3,-0.723, -0.112 , 0.0), 
  327.          ctlpt(E3,0.000 ,0.491, 0.0),  
  328.          ctlpt(E3,0.070, -1.705, 0.0),  
  329.          ctlpt(E3,0.182, 0.491, 0.0),  
  330.          ctlpt(E3,1.018, -0.175, 0.0),  
  331.          ctlpt(E3,1.056, -0.484, 0.0)))*rotz(PI);  
  332.  
  333. C = cbezier(list(ctlpt(E3,-0.842, -0.449, 0.0), 
  334.          ctlpt(E3,-1.193, 0.182, 0.0),  
  335.          ctlpt(E3,-0.210, 0.379, 0.0),  
  336.          ctlpt(E3,0.089, 0.302, 0.0),  
  337.          ctlpt(E3,0.498, 0.302, 0.0),  
  338.          ctlpt(E3,1.488, 0.161, 0.0),  
  339.          ctlpt(E3,1.067, -0.498, 0.0)))*rotz(PI); 
  340.          
  341. Head1 = cbezier(list(ctlpt(E3,-0.842, -0.449, 0.0),
  342.              ctlpt(E3,-0.866,-0.067 , 0.0),
  343.              ctlpt(E3,-0.189, 0.389 , 0.0),
  344.              ctlpt(E3,0.087, -0.043, 0.0),
  345.              ctlpt(E3,0.514,0.362, 0.0),
  346.              ctlpt(E3,1.018,-0.049, 0.0),
  347.              ctlpt(E3,1.065, -0.489, 0.0)))*rotz(-90);
  348.  
  349. Head2 = cbezier(list(ctlpt(E3,-0.849, -0.435, 0.0),
  350.              ctlpt(E3,-0.526, -0.520, 0.0), 
  351.              ctlpt(E3,-0.050, -0.588, 0.0),
  352.              ctlpt(E3,0.328, -0.588, 0.0),
  353.              ctlpt(E3,0.780, -0.520, 0.0),
  354.              ctlpt(E3,1.056, -0.484, 0.0)))*rotz(-90);
  355.          
  356.          
  357. eye1 = sphere(vector(-0.410, 0.295, 0.905),0.01);
  358. eye2 = sphere(vector(-0.455, 0.295, 0.905),0.01);
  359. color(eye1,red);
  360. color(eye2,red);         
  361.      
  362. z = cbezier(list(ctlpt(E3,0.0,0.0,0.0),
  363.                  ctlpt(E3,0.0,0.0,2.0)));
  364. y = cbezier(list(ctlpt(E3,0.0,0.0,0.0),
  365.                  ctlpt(E3,0.0,2.0,0.0)));
  366. color(y,green);         
  367. x = cbezier(list(ctlpt(E3,0.0,0.0,0.0),
  368.                  ctlpt(E3,2.0,0.0,0.0)));                  
  369. color(x, cyan);         
  370.                  
  371. tl1 = SWPSCLSRF(B,A ,scaleCrvA,off,0);       
  372. tl2 = SWPSCLSRF(C,A ,scaleCrvA,off,0);
  373. toung = SWPSCLSRF(Cross, toung1,scale_toung,off,0);
  374. color(toung,red);
  375. color(tl2,green);
  376. tl3 = SWPSCLSRF(Head1,D ,scaleCrvD,off,0);
  377. color(tl3,green);
  378. tl4 = SWPSCLSRF(Head2,D ,scaleCrvD,off,0);
  379. all = list(tl, tl1, tl2,tl3, tl4,eye1,eye2,toung);
  380. view(list(view_mat,all),on);        
  381. interact(list(view_mat,all));
  382. save("cobra_irt",all);
  383.  
  384.